home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 5 / BBS in a Box -Volume V (BBS in a Box) (April 1992).iso / Files / Prog / M / LSC213.cpt / ListMgr.h < prev    next >
Encoding:
C/C++ Source or Header  |  1987-09-26  |  1.4 KB  |  73 lines  |  [TEXT/KAHL]

  1.  
  2. /*
  3.  *  ListMgr.h
  4.  *
  5.  *  Copyright (c) 1986, 1987 THINK Technologies, Inc.
  6.  *  These interfaces are based on information copyrighted
  7.  *  by Apple Computer, Inc., 1985, 1986, 1987.
  8.  *
  9.  */
  10.  
  11. #ifndef    _ListMgr_
  12. #define _ListMgr_
  13.  
  14. #ifndef    _ControlMgr_
  15. #include "ControlMgr.h"
  16. #endif
  17.  
  18.  
  19. /*  masks for automatic scrolling  */
  20. #define lDoHAutoScroll    1
  21. #define lDoVAutoScroll    2
  22.  
  23. /*  masks for selection flags  */
  24. #define lNoNilHilite    2
  25. #define lUseSense        4
  26. #define lNoRect            8
  27. #define lNoExtend        16
  28. #define lNoDisjoint        32
  29. #define lExtendDrag        64
  30. #define lOnlyOne        128
  31.  
  32. /*  message to defproc  */
  33. enum { lInitMsg, lDrawMsg, lHiliteMsg, lCloseMsg };
  34.  
  35.  
  36. typedef Point Cell;
  37.  
  38. typedef char DataArray[32000];
  39. typedef DataArray *DataPtr, **DataHandle;
  40.  
  41. typedef struct ListRec {
  42.     Rect                rView;
  43.     GrafPtr                port;
  44.     Point                indent;
  45.     Point                cellSize;
  46.     Rect                visible;
  47.     ControlHandle        vScroll;
  48.     ControlHandle        hScroll;
  49.     char                selFlags;
  50.     Boolean                lActive;
  51.     char                lReserved;
  52.     char                listFlags;
  53.     long                clikTime;
  54.     Point                clikLoc;
  55.     Point                mouseLoc;
  56.     Ptr                    lClikLoop;
  57.     Cell                lastClick;
  58.     long                refCon;
  59.     Handle                listDefProc;
  60.     Handle                userHandle;
  61.     Rect                dataBounds;
  62.     DataHandle            cells;
  63.     int                    maxIndex;
  64.     int                    cellArray[];
  65. } ListRec, *ListPtr, **ListHandle;
  66.  
  67.  
  68. /*  functions returning non-integral values  */
  69. pascal ListHandle LNew();
  70. /*pascal Cell LLastClick();  -- actually returns a long  */
  71.  
  72.  
  73. #endif _ListMgr_